import Cookies from "js-cookie";

const state = {
  sidebar: {
    opened: Cookies.get("sidebarStatus") ? !!+Cookies.get("sidebarStatus") : true,
    withoutAnimation: false
  },
  // 是否弹出显示遮罩层     desktop 不弹出  mobile  弹出
  device: "desktop",
  // 全局状态加载
  overallLoading: false
};

const mutations = {
  TOGGLE_SIDEBAR: state => {
    state.sidebar.opened = !state.sidebar.opened;
    state.sidebar.withoutAnimation = false;
    if (state.sidebar.opened) {
      Cookies.set("sidebarStatus", 1);
    } else {
      Cookies.set("sidebarStatus", 0);
    }
  },
  CLOSE_SIDEBAR: (state, withoutAnimation) => {
    Cookies.set("sidebarStatus", 0);
    state.sidebar.opened = false;
    state.sidebar.withoutAnimation = withoutAnimation;
  },
  TOGGLE_DEVICE: (state, device) => {
    state.device = device;
  },
  // 修改全局加载状态
  SET_OVERALL_LOADING: (state, overallLoading) => {
    state.overallLoading = overallLoading;
  }
};

const actions = {
  toggleSideBar({ commit }) {
    commit("TOGGLE_SIDEBAR");
  },
  closeSideBar({ commit }, { withoutAnimation }) {
    commit("CLOSE_SIDEBAR", withoutAnimation);
  },
  toggleDevice({ commit }, device) {
    commit("TOGGLE_DEVICE", device);
  },
  setOverallLoading({ commit }, overallLoading) {
    commit("SET_OVERALL_LOADING", overallLoading);
  }
};

export default {
  namespaced: true,
  state,
  mutations,
  actions
};

// 操作菜单数组
// ['tree','empInfo','staffAnalyse','classes','holidays',
// 'specialClockIn','clockRecord','attendance','setClasses','atteForm','atteException','dickRule','roleRule']
// //操作菜单数组说明
// 'tree'//组织架构管理
// 'empInfo'//员工信息管理
// 'staffAnalyse'//员工信息分析
// 'classes'//班次管理
// 'holidays'//节假日管理
// 'specialClockIn'//例外打卡管理
// 'clockRecord'//打卡记录查询
// 'attendance'//考勤日历
// 'setClasses'//班次设置
// 'atteForm'//考勤单据查询
// 'atteException'//考勤异常处理
// 'dickRule'//数据字典配置
// 'roleRule'//角色配置

// 操作权限数组
// ['empInfo:highSearch','empInfo:imp','empInfo:export','empInfo:edit','empInfo:add','empInfo:del',
// 'empInfo:registHr','empInfo:setPwd','empInfo:registdd','empInfo:upddInfo','empInfo:deldd',
// 'empInfo:empLeave','classes:add','classes:del','classes:enable','classes:disabled',
// 'holidays:add','holidays:del','clockRecord:imp','clockRecord:otherClock','atteForm:dept',
// 'atteForm:empName','atteForm:empNo']
// 操作权限数组说明
// //员工信息管理
// 'empInfo:highSearch'//高级搜索
// 'empInfo:imp'//导入
// 'empInfo:export'//导出
// 'empInfo:edit'//编辑
// 'empInfo:add'//新增
// 'empInfo:del'//删除
// 'empInfo:registHr'//注册ehr
// 'empInfo:setPwd'//重置ehr密码
// 'empInfo:registdd'//注册钉钉
// 'empInfo:upddInfo'//更新钉钉信息
// 'empInfo:deldd'//注销钉钉
// 'empInfo:empLeave'//员工离职
// //班次管理
// 'classes:add'//新增
// 'classes:del'//删除
// 'classes:enable'//启用
// 'classes:disabled'//禁用
// 节假日管理
// 'holidays:add'//新增
// 'holidays:del'//删除
// 打卡记录查询
// 'clockRecord:imp'//导入
// 'clockRecord:otherClock'//其他打卡记录
// 表单查询
// 'atteForm:dept'//部门条件
// 'atteForm:empName'//姓名条件
// 'atteForm:empNo'//工号条件

